package com.hee.erp.modules.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.hee.erp.enums.WorkflowNodeTypeEnum;
import com.hee.erp.enums.WorkflowUserTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author weizehong
 * @since 2022-05-15
 */
@Getter
@Setter
@TableName("t_wf_node")
@ApiModel(value = "WlNode对象", description = "")
public class WfNode implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;

    @TableField("wf_main_id")
    private String wfMainId;

    @TableField("parent_id")
    private String parentId;

    @ApiModelProperty("0:发起人,1:审核人，2：抄送人")
    private WorkflowNodeTypeEnum nodeType;


    private String nodeName;

    @ApiModelProperty("-1:未设置，0:任何人,1:直接上级，2：指定人员")
    private WorkflowUserTypeEnum userType;

    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> userIds;

    @TableField(value = "del_flag",fill = FieldFill.INSERT)
    private Boolean delFlag;

    @TableField(value = "create_user",fill = FieldFill.INSERT)
    private String createUser;

    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(value = "modify_user",fill = FieldFill.INSERT_UPDATE)
    private String modifyUser;

    @TableField(value = "modify_time",fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modifyTime;

    @TableField(exist = false)
    private WfNode next;


}
